/**
 * 
 */
package No101_200.No141_150.LinkedListCycle_141;
/** 
 * @author  作者 E-mail: ttljtw@qq.com
 * @date 创建时间：2017年3月2日 下午9:56:26 
 * @version 1.0 
 * @parameter  
 * @since  
 * @return  
 */
/**
 * @author 李敬
 *
 */
public class Solution {

	class ListNode {
		int val;
		ListNode next;
		ListNode(int x) {
			val = x;
			next = null;
		}
	}

	/*
	 * 思路：采用“快慢指针”查检查链表是否含有环。
	 * 让一个指针一次走一步，另一个一次走两步，如果链表中含有环，快的指针会再次和慢的指针相遇。
	 * */
	public boolean hasCycle(ListNode head) {
		ListNode fast = head;
		ListNode slow = head;
		while (fast!=null && fast.next!=null) {
			fast = fast.next.next;
			slow = slow.next;
			if (slow == fast) {
				return true;
			}
		}
		return false;
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}
